#ifndef UTIL_H
#define UTIL_H

//#include "BoundingCircle.h"
//No includes so that anyone that includes Util doesn't get a bunch of useless headers
class hgeVector;
class hgeRect;
struct BoundingCircle;

namespace Util
{
	float GetRandomFloat(float lowBound, float highBound);
	bool MouseCollision(hgeVector a_objectDimensions, hgeVector a_objectPos, hgeVector a_mousePos);
	bool MouseCollision(hgeRect a_objectRect, hgeVector a_objectPos, hgeVector a_mousePos);
	bool BoxBoxCollision(hgeRect a_lhs, hgeRect a_rhs);
	bool CircleCircleCollision(BoundingCircle a_lhs, hgeVector a_lhsPos, BoundingCircle a_rhs, hgeVector a_rhsPos);
	bool CircleBoxCollision(BoundingCircle a_lhs, hgeVector a_lhsPos, hgeRect a_rhs, hgeVector a_rhsPos);
	float AngleBetweenHgeVects(hgeVector a_object1, hgeVector a_object2);
	hgeRect TranslateRect(hgeRect& a_rect, hgeVector a_pos);
	void FloatToTime(float a_time, int &a_hour, int &a_minute, int &a_second, int &a_millisecond);
}

#endif //UTIL_H